The present disclosure relates generally to systems and methods for improved graphical parameter definition and, more particularly, to the interactive application of graphical parameters to a graphical model.
Computerized graphical editing tools are commonly utilized to produce a wide variety of graphical images. Some graphical editing tools are directed to creating and editing static drawings, while other graphical editing tools are directed to producing and manipulating dynamic or animated figures. In either case, the images are often defined structurally. In other words, the images may be defined by information beyond that which is displayed when rendering the images. An image may be defined by one or more parameters, for example, that govern the appearance of the image, how the image behaves, and/or how the image is related to other images. In three-dimensional drawings, the image parameters may be interrelated to form a three-dimensional model that is used to compute and render a requested two-dimensional display image representing the three-dimensional drawing. Many graphical editing tools allow image parameters to be directly manipulated via a Graphical User Interface (GUI).
An example of a direct manipulation of an exemplary drawing 100 is shown in FIG. 1. The exemplary drawing 100 may, for example, comprise a rectangular (as shown) and/or other shape of graphical object 102 that is created and/or otherwise defined by a user. The user may, in some configurations, interface with a GUI to define the graphical object 102. The graphical object 102 may, for example, be created by selecting a rectangle object and/or rectangle creation tool (not shown) and dragging (e.g., with a mouse or other pointing device) the rectangle object into the exemplary drawing 100 to create the rectangular graphical object 102. The user may then mouse-over, click on, and/or otherwise select the graphical object 102 to begin manipulation of the graphical object 102.
In some configurations, the graphical object 102 may be supplemented with editing handles 104 to both indicate that the graphical object 102 is selected and to provide points via which the graphical object 102 may be transformed. The editing handles 104 are implicit to the selection operation performed on the graphical object 102, and are not actual parts of the exemplary drawing 100 and/or the graphical object 102 (e.g., they disappear when the graphical object 102 looses focus). In the exemplary drawing 100, the user may desire to transform the graphical object 102 via rotation.
For example, once the graphical object 102 is selected, the user may select a rotation tool (not shown) and/or otherwise issue a rotation command. In some configurations, a center of rotation pointer 106 may then be displayed along with the graphical object 102. In some graphical editing tools, the center of rotation pointer 106 may be displayed in a default position such as at the center of the graphical object 102 (as shown in FIG. 1). Similar to the editing handles 104, the center of rotation pointer 106 and/or any parameters associated therewith (e.g., coordinates of the center of rotation) are not actual parts of the drawing, they are simply implicit to the associated editing operation (e.g., the rotation in the exemplary drawing 100).
The user may, according to some configurations, reposition the center of rotation pointer 106 (e.g., by dragging it with a mouse pointer) as desired. The user may then, for example, transform the graphical object 102 by rotating it from a first orientation A to a second orientation B. The graphical object 102 may be rotated about the center of rotation pointer 106 to define the angle of rotation 108. In some graphical editing tools, a value of the angle or rotation 108 may be directly entered by the user to obtain precise rotational transformations of the graphical object 102.
In some situations, the user may desire to derive one or more new parameters for the graphical object 102. The user may add parameters to the graphical object 102, for example, to utilize the graphical object 102 in an animation, game, and/or simulation. In some configurations, the added parameters may be derived from other existing parameters of the graphical object 102. The derived parameters may, for example, comprise parameters that may be formed from reversible expressions defined by the user. As an example, one typical method of animating an object (like the graphical object 102) involves utilizing “key frames”. The user may define, for example, how the graphical object 102 should look at specific points in time. In the example drawing 100, the user may rotate the graphical object 102 and then define the new orientation (orientation B) as the orientation the graphical object 102 should have at a specific point in time. The user may then further rotate and/or transform the graphical object 102 and define further orientations for other points in time. An animation system may then, for example, interpolate the values for the parameters of the graphical object 102 between the key frames to determine how to display the “movement” of the graphical object 102.
Adding parameters such as derived parameters to the graphical object 102 typically requires the user to use a method such as “key frames” and/or requires the user to manipulate parameter data via a parameter list (which may exist in a separate editing tool and/or window). The user of typical graphical editing tools may not be able to directly define and/or derive parameters within the drawing 100 and/or may not otherwise be able to easily define a graphical transformation (e.g., the rotation in FIG. 1) as a derived parameter for the graphical object 102.
Accordingly, there is a need for systems and methods for improved graphical parameter definition that address these and other problems found in existing technologies.